There exist many computer programs today that assist a user in generating output audio channel signals based on an input audio channel signal. For example, an audio mixing program may read a single input channel signal and distribute the signal over two separate output channel signals—typically, a “left” channel signal and a “right” channel signal—thus converting “mono” sound into “stereo” sound.
According to one approach, when an input channel signal is distributed over two output channel signals in this way, the volume, or intensity, of each of the output channel signals may be kept the same relative to each other; each of the output channel signals will be equally as loud as the other if each of the output channel signals receives the same “amount” of the input channel signal as the other, speaking in terms of intensity. Under such an approach, for example, if the input channel signal is at an intensity level of X decibels at a particular moment in time, then each of the output channel signals would also be at an intensity level of X decibels at the particular moment in time; the intensity levels of each of the output channel signals would change in accordance with the intensity level of the input channel signal.
However, according to one approach, an input channel signal may be distributed unequally over two output channel signals. For example, the “left” output channel signal may be adjusted to have a lower intensity level than the “right” output channel signal at a particular moment in time, so that, upon playback of both output channel signals concurrently, more of the input channel signal is heard from a “right” speaker than a “left” speaker at the particular moment in time.
In an audio mixing program, a graphical user interface (GUI) control is often provided to allow a user to selectively allocate the intensity of an input channel signal among two output channel signals over time. The process of allocating the input channel signal over time is called “panning,” and the control by which the user selects the allocation of the input channel signal over time is called a “panning knob.”
For example, a panning knob may take the appearance of a circle or dial, upon or near the perimeter of which an indicator is marked. As the user “turns” the knob counterclockwise (using a mouse, keyboard, or other input device), the indicator rotates along the perimeter toward the leftmost degree of the knob. Conversely, as the user “turns” the knob clockwise, the indicator rotates along the perimeter toward the rightmost degree of the knob. Thus, under one approach, the panning knob resembles, in appearance, a physical knob on a conventional radio, similar to the kind used to select volume and radio frequency, for example.
A user may turn the panning knob while an input channel signal is being distributed among two output channel signals. At any moment in time while the input channel signal is being “recorded” to the output channel signals, the attitude of the panning knob determines how much of the input channel signal is allocated to the “left” output channel signal at that moment, and how much of the input channel signal is allocated to the “right” output channel signal at that moment. According to one approach, when the panning knob is turned all the way counterclockwise, so that the indicator is positioned toward the leftward edge of the knob, all of the input channel signal is allocated to the left output channel signal, and none of the input channel signal is allocated to the right output channel signal, speaking in terms of intensity. As the panning knob is turned clockwise from this attitude, more of the input channel signal is allocated to the right output channel signal, and less of the input channel signal is allocated to the left output channel signal, speaking again in terms of intensity. As would be expected, when the panning knob is turned all the way clockwise, so that the indicator is positioned toward the rightward edge of the knob, all of the input channel signal is allocated to the right output channel, and none of the input channel signal is allocated to the left output channel, speaking in terms of intensity once more.
Thus, at any moment during the distribution of a mono audio signal between two stereo audio signals, a user can turn the panning knob to control how much of the mono audio signal is carried by each of the two stereo audio signals at that moment. In other words, the user can turn then panning knob to control the intensities of each of the two stereo audio signals relative to each other at any moment in time. Over time, the relative intensities of the output channel signals may vary.
The panning knob described above may be largely adequate when there are exactly two output channel signals among which an input channel signal is to be distributed, but is less adequate under circumstances where an input channel signal needs to distributed between more than two output channel signals. For example, there may be a need to distribute an input channel signal between four separate output channel signals: a “left” output channel signal, a “right” output channel signal, a “front” output channel signal, and a “back” output channel signal.
A more suitable GUI panning control may be employed under such circumstances. According to one approach, this panning control takes the form of an outer circle or ring that encompasses a smaller indicator that can be positioned variably anywhere within the outer circle. For example, a user may use a mouse to drag the indicator from one position within the circle to another position within the circle. Similar to the way that a leftmost position and rightmost position on the perimeter of the panning knob described above corresponded to left and right output channel signals, respectively, different positions along the perimeter of the panning control's outer circle may correspond to separate output channel signals. For example, the positions at 0, 90, 180, and 270 degrees on the perimeter may correspond to “right,” “front,” “left,” and “back” output channel signals, respectively. The proximity of the indicator to each of these positions at a particular moment determines how much of the input channel signal is allocated to each of the corresponding output channel signal at the particular moment.
For example, when the indicator is positioned exactly at the center of the outer circle, an equal amount of the input channel signal may be allocated to each of the output channel signals, speaking in terms of intensity. If the indicator is moved toward the perimeter of the outer circle, then the input channel signal may be allocated to a greater extent to the output channel signals that correspond to the perimeter positions that the indicator has moved toward, and to a lesser extent to the output channel signals that correspond to the perimeter positions from which the indicator has moved away. For example, if there are four maximally-spaced perimeter positions along the outer circle, as described above, then when the indicator is positioned at the topmost center edge of the outer circle (i.e., at 90 degrees on the perimeter), the “front” output channel signal will have the greatest intensity of all, the “left” and “right” output channel signals will have somewhat less intensity than when the indicator was positioned in the exact center of the outer circle, and the “back” output channel signal will have the least intensity of all—its corresponding position being the farthest from the indicator's position.
The above approach can be extended to accompany any number of output channel signals; each output channel signal may correspond to a different position on the outer circle's perimeter. In the example described above, the positions are maximally distanced from each other on the outer circle's perimeter, but they do not need to be. For example, a first, second, and third output channel signal might correspond to positions at 45, 90, and 135 degrees, respectively, along the outer circle's perimeter. The number of output channel signals and their corresponding positions along the outer circle's perimeter may be user-determinable.
The foregoing approaches are useful for distributing, intensity-wise, a single input channel signal among multiple output channel signals. However, the foregoing approaches suffer from some inadequacies when more than one input channel signal needs to be distributed among multiple output channel signals. Typically, in situations where a recorded sound occupies multiple channel signals, the channel signals bear some spatial relationship to each other. For example, in the case of music originally recorded in stereo, the music might be received, at recording time, through two separate microphones spaced at some distance from each other and the source(s) of the music. The sound recorded via one microphone might be recorded into one channel signal, and the sound recorded via the other microphone might be recorded into the other channel signal. When microphones are placed at different locations relative to sound source(s) and each other for recording purposes, the contents of one resulting channel signal might be significantly different from the contents of other resulting channel signals. The difference in the contents of the channel signals is dependent upon the spatial relationships between their corresponding microphones and the sound source(s).
At some time after the multiple channel signals have been recorded, one might want to mix the multiple channel signals into an even greater number of output channel signals. For example, one might wish to take two input channel signals and mix them into four output channel signals to produce more of a “surround sound” effect. However, because the approaches described above never really contemplated more than one input channel signal, the foregoing approaches provide no clear way of preserving, indicating, or manipulating the spatial relationship between multiple input channel signals that need to be mixed into multiple output channel signals.
The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.